package com.dawn.module.cms.controller.app.article.vo;

import com.dawn.framework.common.pojo.PageParam;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

import static com.dawn.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;


@Schema(description = "用户 APP - 文章分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class AppArticlePageReqVO extends PageParam {

    @Schema(description = "文章标题")
    private String title;

    @Schema(description = "文章描述", example = "你说的对")
    private String description;

    @Schema(description = "标签")
    private String tags;

    @Schema(description = "分类类别", example = "9597")
    private Long categoryId;

    @Schema(description = "分类类别Key")
    private String categoryKey;

    @Schema(description = "发布状态")
    private Integer publish;

    @Schema(description = "是否置顶")
    private Integer topping;

    @Schema(description = "发布时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] publishTime;

    @Schema(description = "封面图")
    private String coverImg;

    @Schema(description = "阅读次数")
    private Integer views;

    @Schema(description = "来源")
    private String source;

    @Schema(description = "发布人")
    private String publishUser;

    @Schema(description = "链接地址", example = "https://www.ynzykj.net")
    private String linkUrl;

    @Schema(description = "状态", example = "1")
    private Integer status;

    @Schema(description = "创建时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] createTime;

    @Schema(description = "关键词")
    private String keywords;

    @Schema(description = "作者")
    private String author;

    @Schema(description = "演示类型", example = "2")
    private String demoType;

    @Schema(description = "演示地址", example = "https://www.ynzykj.net")
    private String demoUrl;

    @Schema(description = "图集")
    private String pictures;

    @Schema(description = "附件")
    private String files;

    @Schema(description = "推荐状态")
    private Integer recommend;

    @Schema(description = "顺序")
    private Integer sort;

    @Schema(description = "是否热门")
    private Boolean recommendHot;

    @Schema(description = "是否轮播图")
    private Boolean recommendBanner;

}